/**
 * @author Philipp Hannemann & Christoph Lehnert
 */

package org.bonn.ooka.model;

import java.util.List;
import java.util.Map;

public interface IComponentAssembler {

	public void start();
	
	public void stop();
	
	public ComponentPointer<?> deploy(String path, String name);
	
	public ComponentPointer<?> deploy(String xmlPath);
	
	public void exec(ComponentPointer<?> ptr, Object... params);
		
	public void erase(ComponentPointer<?> ptr);

	public List<Status> status();
	
	public void kill(ComponentPointer<?> ptr);

	public Map<String, IComponent> getObservers(IComponent component);

	public void changeScope(ComponentPointer<?> ptr, String scope);
}

